package com.yuanfeng.business.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuanfeng.commoms.constant.CommonType;
import lombok.Data;

import java.util.Date;

/**
 * 店铺
 */
@Data
public class PersonMessageInfoDTO {

    /**
     * 店铺id
     * 店铺信息
     */
    private Integer shopId;

    /**
     * 店铺名称
     */
    private String shopName;

    /**
     * 店铺logo
     */
    private String shopLogo;

    /**
     * 用户id
     */
    private String userId;

    /**
     * 店主账号
     */
    private String userName;

    /**
     * 是否自营true自营，false非自营
     */
    private String shopSelfSupport;

    /**
     * 1 未审核,2 全部通过 付款信息待审核 state = 2,3 开店成功,
     * 4 个人基本信息审核被拒绝或入驻或个人实名制不通过,
     * 5开户银行信息被拒绝,6 店铺经营信息审核被拒绝,
     * 8 个人实名制通过,9 资质审核通过
     */
    private Integer shopStatus;

    /**
     * 所在地，使用最后一级分类
     */
    private Integer districtId;

    /**
     * 店铺分类id
     */
    private Integer shopClassId;


    /**
     * 真实姓名 联系人姓名
     * 个人实名信息
     */
    private String contactsName;

    /**
     * 联系人电话
     */
    private String contactsPhone;

    /**
     * 公司所在地
     */
    private String shopCompanyAddress;

    /**
     * 公司详细地址
     */
    private String companyAddressDetail;

    /**
     * 证件类型 1身份证 2护照 3军官证
     * 个人证件信息
     */
    private Integer legalIdentityType;

    /**
     * 法定代表人姓名
     */
    private String legalPerson;

    /**
     * 法人身份证号
     */
    private String legalPersonNumber;

    /**
     * 法人身份证电子版
     */
    private String legalPersonElectronic;

    /**
     * 证件照反面
     */
    private String legalPersonElectronic2;

    /**
     * 法定经营范围开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date businessLicenceStart;

    /**
     * 法定经营范围结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date businessLicenceEnd;

    /**
     * 手机验证码
     */
    private String mobileCode;

    /**
     * 验证码
     */
    private String verificationCode;

    /**
     * 0:个人入驻 1:企业入驻
     */
    private Integer shopBusiness;

    /**
     * 推荐人名称
     */
    private String recommenderName;

    /**
     * 店铺类型
     */
    private Integer shopType;

    /**
     * 付款信息审核1待审核 2审核通过 3审核失败
     */
    private Integer paymentVerifyStatus;

    private Integer invoiceSwitchStatus;

    private Integer invoiceAuditStatus;

    public Integer getShopType() {
        return (null == shopType || shopType.intValue() == 0) ? CommonType.ShopType.COMMON_SHOP.getCode() : shopType;
    }

}
